perm filename CMUIO.FAI[COL,LCS] blob
sn#104310 filedate 1974-05-25 generic text, type T, neo UTF8
TITLE CMUIO
INTERNAL PUTFIL,FASTOUT,FINFIL
INTERNAL ZBIT,GETTAP,TOTAPE,FINTAP,BACKSP,USETI
EXTERNAL CMUALC
CH←12
CH2←11
;CALL PUTFIL(<FILE>)
PUTFIL: 0
MOVE 0,@0(16)
MOVEM FILNAM
JSA 16,INTFIL
MOVE 0,DIR ;IS FILE NAME 'MUSIC'
CAME 0,[SIXBIT/MUSIC/]
JRST .+3 ;NO -- DO NORMAL ENTER
JSA 16,CMUALC ;YES -- DO EXTENDED ENTER TO
JRA 16,1(16) ;GET 1000 BLOCKS
MOVE 0,[SIXBIT/DMD/]
MOVEM 0,DIR+1
SETZM DIR+2
SETZM DIR+3
ENTER CH,DIR
0
JRA 16,1(16)
INTFIL: 0
MOVEI REGS
BLT REGS+3
INIT CH,17
SIXBIT/NICK/
0
JRST NONICK
OUTSTR [ASCIZ/
WRITING SAMPLE ON MTA: RCDFLG SHOULD BE -1 AND BIGBIT 0.
SAMPLES CAN THEN BE DUMPED FROM MTA: (MAX 10K)
!!! THE .R PLAYS PROGRAM MUST BE USED !!!
/]
JRST NICK
NONICK: INIT CH,17
SIXBIT/DSK/
0
0
NICK: MOVE 0,FILNAM#
MOVEM 0,FN#
MOVE 1,[POINT 7,FN]
MOVE 2,[POINT 6,DIR]
SETZM DIR
MOVEI 3,5
INTF1: ILDB 0,1
CAIN 0," "
JRST INTF2
SUBI 0,40
IDPB 0,2
SOJG 3,INTF1
INTF2: HRLZI REGS
BLT 3
JRA 16,0(16)
INTFI2: 0
MOVEI REGS
BLT REGS+3
INIT CH2,617
SIXBIT/MTA0/
0
0
MOVE 0,FILNA2#
MOVEM 0,FN2#
MOVE 1,[POINT 7,FN2]
MOVE 2,[POINT 6,DIR]
SETZM DIR
MOVEI 3,5
JRST INTF1
DIR: BLOCK 4
;CALL FASTOUT(<ARRAY>,<NO. OF WORDS>)
FASTOUT: 0
HRRZ 0,0(16)
SUBI 0,1
MOVEM 0,COM
MOVN 0,@1(16)
HRLM 0,COM
OUTPUT CH,COM
STATZ CH,740000
0
JRA 16,2(16)
;CALL FINFIL
FINFIL: 0
MOVE 0,DIR ;IS FILE NAME 'MUSIC'
CAME 0,[SIXBIT/MUSIC/]
JRST .+3 ;NO -- DO NORMAL CLOSE
CLOSE CH,4 ;YES -- CLOSE BUT DON'T DE-ALOCATE
SKIPA
CLOSE CH,0
STATZ CH,740000
0
RELEASE CH,0
JRA 16,0(16)
;'CH' IS USED IN GETTAP, TOTAPE
;'CH2' " " " MTA1, INMTA1, GETFI2, FASTI2
; CALL USETI(WDS/128)
USETI: 0
MOVE 1,@(16)
USETI CH2,(1)
JRA 1,1(16)
;CALL GETTAP
GETTAP: 0 ;USES TOTAPE, CH. READS OR WRITES MTA0.
INIT CH,617
SIXBIT/MTA0/
0
HALT
JRA 16,0(16)
;CALL TOTAPE(<ARRAY>,<NO.OF WORDS>) WRITES ON MAGTAPE
TOTAPE: 0
HRRZ 0,0(16)
SUBI 0,1
MOVEM 0,COM
MOVN 0,@1(16)
HRLM 0,COM
OUTPUT CH,COM
STATZ CH,740000
0
JRA 16,2(16)
; CALL FINTAP
FINTAP: 0
CLOSE CH,0
STATZ CH,740000
0
RELEASE CH,0
JRA 16,0(16)
; CALL BACKSP
BACKSP: 0
INIT CH,617
SIXBIT/MTA0/
0
HALT
MTAPE CH,7
JRA 16,0(16)
; CALL ZBIT(<INPUT ARRAY>,<OUTPUT ARRAY>)
; (256 WDS) (512 WDS)
ZBIT: 0
MOVE 2,(16)
MOVE 1,1(16)
HRLI 2,-=256
LOOP: HLRE 0,(2)
FSC 0,233 ;FLOAT IT
MOVEM 0,(1) ; GETS 512 18-BIT SAMPLES OUT OF 256 WDS.
HRRE 0,(2)
FSC 0,233
MOVEM 0,1(1)
ADDI 1,2
AOBJN 2,LOOP
JRA 16,1(16)
BLKS←=1
REGS: BLOCK 20
COM: OCT 0,0
;;;COM1: 0
BLKNUM: 0
END